1. Field of the Invention
The present invention relates to program test technology and, more particularly, to a method and apparatus for evaluating the effectiveness of a test case used for a program test.
2. Discussion of Related Art
Conventional embedded systems are mostly employed for simple repetitive work, but they have recently been applied in more various fields, for example, portable phones, automobiles, medical equipment, and various electronic devices. In addition, since the safety of embedded systems significantly affects the commercial availability of products, not only development and production processes, but also inspection processes are accepted as critical. In particular, a program test for inspecting the quality of a program (e.g., a device driver) embedded in an embedded system and a program test for inspecting the quality of hardware of the embedded system are becoming more important.
A program test includes executing test cases on a test target program and determining if the test target program is properly embodied based on the execution result. Accordingly, it is important to evaluate the effectiveness of the test case used for the program test.
However, a conventional program test is performed without evaluating the capability of a test case to detect errors. In other words, the test case is executed on a test target program irrespective of the error detection capability of the test case, so that the test case is only evaluated depending on whether the test case performs all source codes of the test target program or all branch statements of the test target program.
Especially, in the case of a device driver, content to be tested and detected errors vary with the usable environment of an embedded system including the device driver. However, since conventional evaluation systems evaluate test cases based on equal standards, it is difficult to evaluate the test cases based on specific standards appropriate for the usable environment of the device driver.
Therefore, it is necessary to develop a new technique of evaluating the error detection capability of a test case used for a program test.